//
//  FYStatus.swift
//  Mircore
//
//  Created by apple on 16/8/10.
//  Copyright © 2016年 飞羽. All rights reserved.
//

import UIKit

//微博模型

class FYStatus: NSObject {
  
  //发微博时间
    var  created_at: String?
    
    //微博id
    
    var  id: Int64 = 0
    
    //微博内容
    
    var  text: String?
    
    //来源
    
    var source: String?
    
    //关注用户的模型
    
    var  user:FYUser?
    
    //转发数
    
    var  reposts_count:  Int  = 0
    
    
    //评论数
    
    var  comments_count: Int  = 0
    
    //表态数
    
    var  attitudes_count: Int  = 0
    
    
    //转发微博对象
    
    var  retweeted_status: FYStatus?
    
    //匹配信息
    
    var  pic_urls: [FYStatusPictureInfo]?
    
    //KVC构造函数
    
    init(dic:[String: AnyObject]) {
        
        super.init()
        
        setValuesForKeysWithDictionary(dic)
    }
    
    override  func  setValue(value: AnyObject?, forKey key: String) {
        
        if  key  == "user" {
        
            guard  let  dic  = value  as? [String: AnyObject] else  {
            
              return
            }
            //代码到此  字典没有问题
            
            user  = FYUser(dic:dic)
        }else if  key == "retweeted_status" {
        
            guard  let  dic  = value  as?  [String: AnyObject]  else  {
            
            
             return
            }
        
            //代码执行到此  字典没有问题
            
            retweeted_status  = FYStatus(dic: dic)
        
        } else if key == "pic_urls" {
        
            guard  let  dicArray  = value  as?  [[String: AnyObject]]  else {
            
            
              return
            }
            
            //代码执行到此  数组字典没有问题
            
            var  tempArr  = [FYStatusPictureInfo]()
            
            for dic in dicArray{
                
                let  pictureInfo  = FYStatusPictureInfo(dic: dic)
                
                tempArr.append(pictureInfo)
            }
            
            //设置模型数据
            
            pic_urls = tempArr
        
        }else{
        
        super.setValue(value, forKey: key)
        }
    }
    
    //防止字段不匹配  导致崩溃
    
    override  func  setValue(value: AnyObject?, forUndefinedKey key: String) {
        
        
    }
}
